首页 > 试题广场 >

喝酒

[编程题]喝酒
  • 热度指数:1162 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
一瓶酒m元钱,两个酒瓶可以换一瓶酒,四个瓶盖可以换一瓶酒,现在有 n 元钱,求最多可以喝多少瓶酒?
(注:没有借贷功能,即最终不允许借一瓶酒、喝完后拿酒瓶兑换归还的操作)
示例1

输入

2,12

输出

19

说明

酒鬼总计可以喝19瓶酒  

备注:
0 < m < 100
0 < n < 2000
def countWine(self , m , n ):
        init=n//m
        i=0
        cap=init+i
        bot=init+i
        cnt=[]
        while cap>=2 or bot>=4:
            t1=cap//2
            t2=bot//4
            i=i+t1+t2
            cap=cap%2
            bot=bot%4
            cap+=t1+t2
            bot+=t1+t2
            cnt.append(init+i)
        return cnt[-1]
发表于 2021-09-03 14:39:31 回复(0)

问题信息

难度:
1条回答 2329浏览

热门推荐

通过挑战的用户

查看代码